<template>
	<view :data-theme="themeStyle">
		<view class="money-wrap">
			<text>{{ detail.apply_money }}</text>
		</view>

		<!-- 状态0待审核1.待转账2已转账 -1拒绝' -->
		<view class="item">
			<view class="line-wrap">
				<text class="label">当前状态</text>
				<text class="value">{{ detail.status_name }}</text>
			</view>
			<view class="line-wrap">
				<text class="label">交易号</text>
				<text class="value">{{ detail.withdraw_no }}</text>
			</view>
			<view class="line-wrap">
				<text class="label">手续费</text>
				<text class="value">￥{{ detail.service_money }}</text>
			</view>
			<view class="line-wrap">
				<text class="label">申请时间</text>
				<text class="value">{{ $util.timeStampTurnTime(detail.apply_time) }}</text>
			</view>
			<view class="line-wrap" v-if="detail.status">
				<text class="label">审核时间</text>
				<text class="value">{{ $util.timeStampTurnTime(detail.audit_time) }}</text>
			</view>
			<view class="line-wrap" v-if="detail.bank_name">
				<text class="label">银行名称</text>
				<text class="value">{{ detail.bank_name }}</text>
			</view>
			<view class="line-wrap">
				<text class="label">收款账号</text>
				<text class="value">{{ detail.account_number }}</text>
			</view>
			<view class="line-wrap" v-if="detail.status == -1 && detail.refuse_reason">
				<text class="label">拒绝理由</text>
				<text class="value">{{ detail.refuse_reason }}</text>
			</view>
			<view class="line-wrap" v-if="detail.status == 2">
				<text class="label">转账方式名称</text>
				<text class="value">{{ detail.transfer_type_name }}</text>
			</view>
			<view class="line-wrap" v-if="detail.status == 2">
				<text class="label">转账时间</text>
				<text class="value">{{ $util.timeStampTurnTime(detail.payment_time) }}</text>
			</view>
		</view>
		<!-- #ifdef H5 -->
			<view class="operations" v-if="$util.isWeiXin() && withdrawInfo.transfer_type && detail.transfer_type == 'wechatpay' && detail.status == 1">
				<button class="operation" type="primary" @click="merchantTransfer()">收款</button>
			</view>
		<!-- #endif -->
		<!-- #ifdef MP-WEIXIN -->
			<view class="operations" v-if="withdrawInfo.transfer_type && detail.transfer_type == 'wechatpay' && detail.status == 1">
				<button class="operation" type="primary" @click="merchantTransfer()">收款</button>
			</view>
		<!-- #endif -->
		
		<loading-cover ref="loadingCover"></loading-cover>
	</view>
</template>

<script>
	import globalConfig from '@/common/js/golbalConfig.js';
	export default {
		data() {
			return {
				id: 0,
				detail: {},
				withdrawInfo: {},
				requestCount: 0
			};
		},
		async onLoad(option) {
			this.id = option.id || 0;
			await this.getWithdrawConfig()
			if(option.action) this.merchantTransfer();
		},
		mixins: [globalConfig],
		onShow() {
			this.$langConfig.refresh();
			if (uni.getStorageSync('token')) {
				this.getDetail();
			} else {
				this.$util.redirectTo(
					'/pages/login/index/index', {
						back: '/otherpages/member/point/point'
					},
					'redirectTo'
				);
			}
		},
		onPullDownRefresh() {
			this.getDetail();
		},
		methods: {
			merchantTransfer() {
				uni.showLoading({})
				var app_id = ''
				// #ifdef MP
					app_id = this.withdrawInfo.weapp_appid;
				// #endif
				// #ifdef H5
					if(this.$util.isWeiXin()){
						app_id = this.withdrawInfo.wechat_appid;
					}
				// #endif
				this.$util.merchantTransfer(
					{
						transfer_type: 'member_withdraw',
						id: this.id,
					},
					{
						mch_id: this.withdrawInfo.mch_id,
						app_id: app_id,
					},
					(res)=>{
						this.getDetail('transferComplete');
						// if (res.err_msg === 'requestMerchantTransfer:ok') {
						// }
					}
				);
			},
			async getWithdrawConfig() {
				let res = await this.$api.sendRequest({
					url: '/wechatpay/api/transfer/getWithdrawConfig',
					async: false,
				});
				if (res.code == 0){
					this.withdrawInfo = res.data;
				}
			},
			getDetail(mode='') {
				this.$api.sendRequest({
					url: '/api/memberwithdraw/detail',
					data: {
						id: this.id
					},
					success: res => {
						if (res.data) {
							this.detail = res.data;
							if(mode && this.detail.status == 1){
								// 提现状态还没有修改
								if(this.requestCount < 10 && this.detail.status == 1){
									this.requestCount++;
									setTimeout(()=>{
										this.getDetail('transferComplete')
									},1000)
								}
							}
							uni.stopPullDownRefresh();
						}
						if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
					},
					fail: res => {
						if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
					}
				});
			}
		}
	};
</script>

<style lang="scss">
	.money-wrap {
		text-align: center;
		font-size: 50rpx;
		font-weight: bold;
		margin: 40rpx;
		border-bottom: 1px solid $color-line;
		padding: 40rpx;
	}

	.item {
		margin: 40rpx;

		.line-wrap {
			margin-bottom: 20rpx;

			.label {
				display: inline-block;
				width: 200rpx;
				color: $color-tip;
				font-size: $font-size-base;
			}

			.value {
				display: inline-block;
				font-size: $font-size-base;
			}
		}
	}
	.operations {
		margin-top: 60rpx;
		bottom: 0;
		width: 100%;
		// background: #fff;
		position: fixed;
		padding: 0 30rpx;
		box-sizing: border-box;
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
		z-index: 10;
	
		.operation {
			height: 80rpx;
			line-height: 80rpx;
			border-radius: 80rpx;
			margin: 30rpx 0 30rpx;
			font-size: $font-size-toolbar;
	
			text {
				margin-right: 10rpx;
				font-size: $font-size-base;
			}
		}
	}
</style>
